Mobile Device Used as Controller in Interactive Gaming Environment

ABSTRACT

Using mobile devices in interactive gaming environments can include receiving inputs for a game event sent from wireless mobile devices over a plurality of disparate wireless networks. Each received input can include a game response and a timestamp indicative of when the game response was made. The timestamp and the game response of each input can be compared to formulate a game output.

CLAIM OF PRIORITY

This application claims priority under 35 U.S.C. §119(e) to U.S. Patent Application Ser. No. 60/908,589, filed on Mar. 28, 2007, the entire contents of which are hereby incorporated by reference.

TECHNICAL FIELD

This application relates to mobile devices in interactive gaming environments.

BACKGROUND

Interactive gaming environments can include multiple users interacting with a main controller. The multiple users can be dispersed across multiple locations. Examples of interactive games include games that interact with video feeds from a football, question-and-answer games, or trivia. The response time of a user's input into the interactive gaming environment can be compared to the other users' response times.

SUMMARY

This specification describes technologies that, among other things, allow users to use their own personal wireless devices to interact with interactive games that are remotely hosted.

In general, one aspect of the subject matter described in this specification can be implemented in methods that include receiving inputs for a game event sent from wireless mobile devices over a plurality of disparate wireless networks, each received input can include a game response and a timestamp indicative of when the game response was made; and comparing the timestamp and the game response of each input to formulate a game output. Other implementations of this aspect include corresponding systems, apparatus, and computer program products.

This, and other aspects, can include one or more of the following features. The plurality of disparate wireless networks can include a cellular network. The plurality of disparate wireless networks can include a local area wireless network. In some implementations, at least a portion of the received inputs can be sent in accordance with a text messaging protocol. In some implementations, the Short Message Service (SMS) protocol can define the text messaging protocol. The game response can include a guess of a future play of a ball game. Receiving inputs for the game event can include receiving an input over Bluetooth.

In general, another aspect of the subject matter described in this specification can be implemented in methods that include receiving a game response; recording a timestamp for the game response indicative of when the response was made; and transmitting the response and the timestamp to a server over a communication pathway that includes a wireless link. In some implementations, transmitting the response can include formulating a text message including the response. Other implementations of this aspect include corresponding systems, apparatus, and computer program products.

In general, another aspect of the subject matter described in this specification can be implemented in a device that includes a gaming system, having a first network connection receiving input indicative of a game from a remote controller; and an interface to a mobile device, the mobile device producing controls that interact with said game.

Particular implementations of the subject matter described in this specification can be implemented to realize one or more of the following potential advantages. The use of a timestamp indicative of when a game response was entered by a user allows a main controller to compensate for any latency in the communication path between the main controller and the wireless device. In an interactive gaming environment, enabling the use of multiple wireless devices, such as a user's personal mobile phone, can enable a gaming establishment to lower costs by not having to purchase custom wireless devices. In addition, allowing users to use their own mobile devices tends to encourage participation.

The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of an interactive gaming environment.

FIG. 2 shows an example of a flowchart of time stamping a game response.

FIG. 3 shows an example of a main controller receiving game responses with timestamps.

FIG. 4 shows another example of a main controller receiving game responses with timestamps.

Like reference symbols and designations in the various drawings indicate like elements.

DETAILED DESCRIPTION

Interactive gaming environments can include processor electronics such as a main controller at a server location that coordinates game play. Interactive gaming environments can also include other processor electronics such as remote processing units (e.g. set-top box or other embedded systems, programmed general purpose computers) that act together with the main controller or independently. Participants of an interactive gaming environment can be located in multiple locations or a single location. These locations can include public locations such as bars, restaurants, and in general, gaming establishments.

Interactive gaming environments can include displaying game information at one or more locations. Game information can be synchronized with live feed video. For example, the QB1 game, available from NTN Buzztime of Carlsbad, Calif., can synchronize a gaming environment with a real-time video feed of a football game. Other games can include question-and-answer games such as trivia games. In each of these games, a user at some remote location plays in the game. The game can be played either by itself or can be scored against one or more other players who are playing the game at the same time.

Gaming establishments can provide wireless playmakers so that users can play the game. However, wireless playmaker devices can be relatively expensive and can be a barrier to entry for many gaming establishments. Thus, it is advantageous for an interactive gaming environment to interface with a user's own wireless device.

Multiple access points can be used to allow access to the main controller and/or remote processing units to enable the use of a user's own wireless device. Multiple types of devices, including wireless and wired, can be used to interact with the main controller. The devices can include mobile phones, personal data assistants, wireless or wired playmakers, and other related devices.

Interactive gaming environments can be of a time sensitive nature. For example, game scoring can include determining when a user made a response, e.g., pushed the “send” button, to a game event and comparing that time with response times of other users. A game event, for example, can include a question presented to players of the game, or sport players preparing to start a play. Timing can be an important element when scoring game responses.

Time sensitive gaming environments can require a user to make a response at a specified time or before a specified time. For example, a sports-based game can be played in sync with a real-life game such as football. In one such sports-based game, the users can attempt to guess the play that will be made by the team at the next play time. A game response can include a type of play. As the offense approaches the line of scrimmage, the players can guess the contents of the play. For example, a user can make a guess based on the way the offense approaches, body language, line up positions, etc. Game responses can be locked out before the play starts to avoid any game player receiving an unfair advantage. However, it can be advantageous to allow players to see the sport's players up to the last second, at the line of scrimmage, so that the game players can make the best guesses. The user with the most correct guesses can win the game. Therefore, such a sports based game can attempt to synchronize with the football “snap” to allow game responses up until the moment of the snap.

In another example, in a question-and-answer game, a user can receive more points when answering the questions sooner, and/or can receive hints at different times. Therefore, compensating for latency can be important for such time sensitive games.

In an interactive gaming environment where game responses are received from multiple disparate networks, the different latencies between the disparate networks to the main controller can become an issue. These disparate networks can include local area wireless networks, such as those based on IEEE 802.11 standards, wide area wireless networks, and cellular networks by multiple service providers. In addition, the mode of communication within these disparate sources can include IP-based packets and text messages using a protocol such as Short Message Service (SMS). Further, poor signal strength in a wireless network can increase the latency of an individual wireless device used in the network. Latency can vary greatly between these disparate networks. Such variations in latency can impact the scoring of a game if the timing of the receipt of the game response at the main controller is used to determine when a user made the game response. This disclosure presents methods and techniques to compensate for latency in an interactive gaming environment.

FIG. 1 shows an example of an interactive gaming environment. A main controller 100 can communicate over a network line 105 to a remote processing unit (RPU) 125 that is at a remote location. In some implementations, the RPU can be a computer, a set-top box, or any device with processor electronics. The network line 105 can be a communication path through the Internet, a path through a local area network (LAN), or a general data communication path. The RPU 125 can display content on an output device such as a screen 130 of a television 126 or a monitor via a media link 128. The television 126 can also receive programming 127 such as football games or other television programming. The television 126 can receive programming 127 over many mediums including cable and satellite. The RPU 125 can include a wireless capability 131. The wireless capability 131 can communicate with multiple different wireless devices 135, 136.

In some implementations, wireless capability 131 can communicate directly with a user's personal mobile device 135. For example, the mobile device 135 can be a cell phone, Blackberry, or PDA. The mobile device 135 can include a WiFi module. The WiFi module can transmit and receive signals in accordance with a protocol such as the IEEE 802.11 family of protocols. The mobile device 135 can search for wireless signals and connect to other wireless devices. The WiFi module of the mobile device 135 can communicate with the RPU 125 over a wireless link 134, when the mobile device 135 is in range of the wireless capability 131 of the RPU 125.

In some implementations, a mobile phone 140 can be used in a cellular network to communicate directly with the main controller 100. The mobile phone 140 can use resources of a cellular network, such as a wireless communication tower 141 via a wireless link 142, to communicate with the main controller 100. The cellular network can use a communication path 107 to establish a connection between the tower 141 and the main controller 100. The communication path can include private networks of the cellular network provider and the Internet.

The wireless device 140 can use software such as a native web browser or a custom downloadable program to enable communications with main controller 100. The software can render game stimuli and capture game responses. The program can be written in C, Java, BREW (R), or any other programming language. For example, the program can be written in the device's operating system and can allow direct communication to the main controller 100. The communication can be over regular cellular airwaves or over Short Message Service (SMS).

Another device, such as mobile phone 150, can use a different wireless network to communication with the main controller 100. The mobile phone 150 can use resources of a wireless network, such as a wireless communication tower 151 via a wireless link 152, to communicate with the main controller 100. The wireless network can use a communication path 106 to establish a connection between the tower 151 and the main controller 100.

A wireless device 136 can include a Bluetooth™ wireless module 137. In some implementations, the wireless capability 131 of the RPU 125 can include Bluetooth™ capabilities. Therefore, the wireless device 136 can communicate with the wireless capability 131 of the RPU 125 via the Bluetooth™ wireless module 137.

The wireless device 136 can use software such as a native web browser or a custom downloadable program to enable communications with the RPU 125. The software can capture game responses such as a user pressing a button on the wireless device 136. The software can send the response to the RPU 125. In turn, the RPU 125 can process the game response and/or forward the response to the main controller 100.

The latencies between wireless devices 135, 136, 140, and 150 and the main controller 100 can vary. Further, latency can vary widely between different cellular networks and wireless networks. This can present a problem for time sensitive interactive gaming environments.

In order to compensate for the varying latencies, a wireless device, such as 135, 136, 140, and 150, can send, in addition to the game response, a timestamp indicative of the time when the game response was made. For example, a device can capture the time when a user presses a button that generates the game response. The main controller 100 can receive a response from a wireless device at some later time, perhaps as long as 2 to 15 seconds later. The main controller 160 can look at the timestamp in the response, rather than looking at the response's actual received time. In this way, the latency in the network can be compensated in non real time.

FIG. 2 shows an example of a flowchart of time stamping a game response. A wireless device can capture 205 a game response. The time of the game response can be recorded 210. The wireless device can send 215 the game response and the timestamp to the main controller 100. In some implementations, the game response can be a button press or a sequence of button presses. In some implementations, the timestamp can be when the button press occurred. When recording the time, the wireless device can use the device's time or a time that is synchronized with the wireless or cellular network. The time can be represented using the local time for the device's present location, or the time can be represented using Greenwich Mean Time, or a default time representation such as Pacific or Eastern.

FIG. 3 shows an example of a main controller receiving game responses with timestamps. The main controller 100 can receive 305 input from a gaming device such as wireless devices 135, 136, 140, and 150. The received input can include a game response and a timestamp indicative of when the game response was made. The main controller 100 can determine if the main controller 100 is finished receiving data from the gaming devices 310. If the main controller 100 is not finished, the main controller 100 can receive 305 additional gaming device inputs. If the main controller 100 is finished receiving data, the main controller 100 can compare 315 game responses from the gaming devices using the associated timestamps. This comparison can be used to determine a score and/or ranking of the players of the game. In some implementations, the main controller 100 can convert the time representations in the received gaming data to a standard time representation, such as GMT, to make the comparison 315.

In some implementations, the software running on the wireless devices can capture a game response, such as a key press, from a user, and the time of the key press. The software can send the game response with the timestamp as a text message over a text messaging protocol, such as SMS, to the main controller 100. The main controller can receive this text message at a later time. The main controller can use the timestamp within the message to determine when the game response occurred.

In some implementations, a wireless device, such as 135, 136, 140, and 150, can connect to a special webpage on the Internet which allows answering the questions or submitting game responses to the interactive gaming environment. The answering of the questions can be synchronized with the content displayed on the screen 130. When the user clicks on an answer, the answer selection and the time when the user clicked on the answer can be sent to a main controller.

FIG. 4 shows another example of a main controller receiving game responses with timestamps. In this example, the main controller can receive 405 inputs for a game event sent from wireless mobile devices over a plurality of disparate wireless networks, each received input includes a game response and a timestamp indicative of when the game response was made. The main controller can compare 410 the timestamp and the game response of each input to formulate a game output. In some implementations, the game output can be a ranking of users based on the timestamps of their game responses and the correctness of their game responses. In some implementations, the main controller can reject a game response based on the timestamp of the game response if the game response was made after a cutoff time.

Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus.

A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, near-tactile, or tactile input.

Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

While this specification contains many specifics, these should not be construed as limitations on the scope of the disclosure or of what may be claimed, but rather as descriptions of features specific to particular implementations of the disclosure. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Thus, particular implementations of the disclosure have been described. Other implementations are within the scope of the following claims. For example, a wireless device can be a laptop computer. In some examples, some implementations can distribute the functional components of the main controller amongst other gaming components such as a RPU. Other implementations can include multiple RPUs. Alternatively, an implementation can include a main controller and wireless devices without the use of a RPU. 

1. A method comprising: receiving inputs for a game event sent from wireless mobile devices over a plurality of disparate wireless networks, wherein each received input comprises a game response and a timestamp indicative of when the game response was made; and comparing the timestamp and the game response of each input to formulate a game output.
 2. The method of claim 1, wherein the plurality of disparate wireless networks comprises a cellular network.
 3. The method of claim 2, wherein the plurality of disparate wireless networks comprises a local area wireless network.
 4. The method of claim 2, wherein at least a portion of the received inputs are sent in accordance with a text messaging protocol.
 5. The method of claim 4, wherein the Short Message Service (SMS) protocol defines the text messaging protocol.
 6. The method of claim 1, wherein the game response comprises a guess of a future play of a ball game.
 7. The method of claim 1, wherein receiving inputs for the game event comprises receiving an input over Bluetooth.
 8. A method comprising: receiving a game response; recording a timestamp for the game response indicative of when the response was made; and transmitting the response and the timestamp to a server over a communication pathway that comprises a wireless link.
 9. The method of claim 8, wherein transmitting the response comprises formulating a text message comprising the response.
 10. A computer program product, tangibly embodied on a computer-readable medium, the computer program product comprising instructions to enable data processing apparatus to perform operations comprising: receiving inputs for a game event sent from wireless mobile devices over a plurality of disparate wireless networks, wherein each received input comprises a game response and a timestamp indicative of when the game response was made; and comparing the timestamp and the game response of each input to formulate a game output.
 11. The computer program product of claim 10, wherein the plurality of disparate wireless networks comprises a cellular network.
 12. The computer program product of claim 11, wherein the plurality of disparate wireless networks comprises a local area wireless network.
 13. The computer program product of claim 11, wherein at least a portion of the received inputs are sent in accordance a text messaging protocol.
 14. The computer program product of claim 13, wherein the Short Message Service (SMS) protocol defines the text messaging protocol.
 15. The computer program product of claim 10, wherein the game response comprises a guess of a future play of a ball game.
 16. The computer program product of claim 10, wherein receiving inputs for the game event comprises receiving an input over Bluetooth.
 17. A system comprising: a processor; and a computer-readable medium encoding instructions to cause the processor to perform operations comprising: receiving inputs for a game event sent from wireless mobile devices over a plurality of disparate wireless networks, wherein each received input comprises a game response and a timestamp indicative of when the game response was made; and comparing the timestamp and the game response of each input to formulate a game output.
 18. The system of claim 17, wherein the plurality of disparate wireless networks comprises a cellular network.
 19. The system of claim 18, wherein the plurality of disparate wireless networks comprises a local area wireless network.
 20. The system of claim 18, wherein at least a portion of the received inputs are sent in accordance a text messaging protocol.
 21. The system of claim 20, wherein the Short Message Service (SMS) protocol defines the text messaging protocol.
 22. The system of claim 17, wherein the game response comprises a guess of a future play of a ball game.
 23. The system of claim 17, wherein receiving inputs for the game event comprises receiving an input over Bluetooth.
 24. A device comprising: a gaming system, having a first network connection receiving input indicative of a game from a remote controller; and an interface to a mobile device, the mobile device producing controls that interact with said game. 